package com.github.wxiaoqi.security.crm.core.biz;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.crm.request.PersonalBaseRequest;
import com.github.wxiaoqi.security.common.crm.request.QueryPersonalBaseListRequest;
import com.github.wxiaoqi.security.common.msg.ResponseCode;
import com.github.wxiaoqi.security.common.util.EntityUtils;
import com.github.wxiaoqi.security.crm.core.entity.PersonalBase;
import com.github.wxiaoqi.security.crm.core.mapper.PersonalBaseMapper;

import lombok.extern.slf4j.Slf4j;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.entity.Example.Criteria;

/**
 * 个人客户基础信息
 *
 * @author centerroot
 * @email ${email}
 * @date 2018-07-16 10:15:49
 */
@Slf4j
@Service
public class PersonalBaseBiz extends BaseBiz<PersonalBaseMapper,PersonalBase> {
	
	
	/**
	 * 查询单个个人基础信息详情
	 * @author centerroot
	 * @time 创建时间:2018年7月16日下午6:02:45
	 * @param personalId
	 * @return
	 */
	public Map<String, Object> queryOneByKeys(String personalId){
		log.info("【查询单个个人基础信息详情】   请求参数：{}",personalId);
		Map<String, Object> respMap = new HashMap<String, Object>();
		PersonalBase personalBase = mapper.selectByPrimaryKey(personalId);
		respMap.put("personalBase", personalBase);
        respMap.put("code", ResponseCode.OK.getCode());
        respMap.put("msg", ResponseCode.OK.getMessage());
		log.info("【查询单个个人基础信息详情】   响应参数：{}",respMap);
		return respMap;
	}
	
	/**
	 * 添加个人基础信息
	 * @author centerroot
	 * @time 创建时间:2018年7月16日下午6:02:52
	 * @param personalBaseRequest
	 * @return
	 */
	public Map<String, Object> add(PersonalBaseRequest personalBaseRequest){
		log.info("【添加个人基础信息】   请求参数：{}",EntityUtils.beanToMap(personalBaseRequest));
		Map<String, Object> respMap = new HashMap<String, Object>();
		PersonalBase personalBase = new PersonalBase();
		BeanUtils.copyProperties(personalBaseRequest,personalBase);
		mapper.insert(personalBase);
		respMap.put("code", ResponseCode.OK.getCode());
        respMap.put("msg", ResponseCode.OK.getMessage());
		log.info("【添加个人基础信息】   响应参数：{}",respMap);
		return respMap;
	}
	
	/**
	 * 修改个人基础信息
	 * @author centerroot
	 * @time 创建时间:2018年7月16日下午6:02:58
	 * @param personalBaseRequest
	 * @return
	 */
	public Map<String, Object> update(PersonalBaseRequest personalBaseRequest){
		log.info("【修改个人基础信息】   请求参数：{}",EntityUtils.beanToMap(personalBaseRequest));
		Map<String, Object> respMap = new HashMap<String, Object>();
		PersonalBase personalBase = new PersonalBase();
		BeanUtils.copyProperties(personalBaseRequest,personalBase);
		mapper.updateByPrimaryKey(personalBase);
		respMap.put("code", ResponseCode.OK.getCode());
        respMap.put("msg", ResponseCode.OK.getMessage());
		log.info("【修改个人基础信息】   响应参数：{}",respMap);
		return respMap;
	}
	
	/**
	 * 删除个人基础信息
	 * @author centerroot
	 * @time 创建时间:2018年7月16日下午6:03:04
	 * @param personalId
	 * @return
	 */
	public Map<String, Object> delete(String personalId){
		log.info("【删除个人基础信息】   请求参数：{}",personalId);
		Map<String, Object> respMap = new HashMap<String, Object>();
		int count = mapper.deleteByPrimaryKey(personalId);
        respMap.put("code", ResponseCode.OK.getCode());
        respMap.put("msg", ResponseCode.OK.getMessage());
		log.info("【删除个人基础信息】   响应参数：{}",respMap);
		return respMap;
	}
	
}